{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Logreg"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "def sigmoid(z): \n",
    "    y_hat = 1/(1+np.exp(-z))\n",
    "    return y_hat"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "##  Loss func for logic regression:\n",
    "\n",
    "$\n",
    "    \\lbrace\n",
    "    ^{y=1, Loss(h(x), y) = -log(h(x))}\n",
    "    _{y=0, loss(h(x), y) = -log(1-h(x))}\n",
    "$\n",
    "\n",
    "## Gradient:\n",
    "\n",
    "$\n",
    "    w = w - \\alpha * \\frac{\\partial}{\\partial{W}} L(W)\n",
    "$\n",
    "\n",
    "ae:\n",
    "\n",
    "$\n",
    "    w = w - \\frac{\\alpha}{N}\n",
    "            \\sum^N_{i=1}\n",
    "            (\n",
    "                y^{(i)} - (W * X^{(i)}) * X^{(i)}\n",
    "            )\n",
    "$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "def sigmoid(z): \n",
    "    y_hat = 1/(1+np.exp(-z))\n",
    "    return y_hat\n",
    "def gradient_descent(X, y, w, b, lr, iter):\n",
    "    l_history = np.zeros(iter)\n",
    "    w_history = np.zeros(iter, w.shape[0], w.shape[1]) # the weight tensor\n",
    "    b_history = np.zeros(iter)\n",
    "\n",
    "    for i in range(iter):\n",
    "\n",
    "        \"sigmoid\"\n",
    "        y_hat = sigmoid(np.dot(X,w)) \n",
    "\n",
    "        \"Loss function for specific\"\n",
    "        loss =  - (\n",
    "                    y * np.log(y_hat) +\n",
    "                   (1-y) * np.log(1-y_hat)\n",
    "                )\n",
    "        \n",
    "        \"Get the gradient / derivative\"\n",
    "        derivative_w = np.dot(X.T,  y_hat-y)  /  X.shape[0]\n",
    "        derivative_b = np.sum(y_hat - y)/ X.shape[0]\n",
    "\n",
    "        # iterate\n",
    "        w -= lr * derivative_w\n",
    "        b -= lr * derivative_b\n",
    "\n",
    "        l_history[i] = loss_function(X,y,w,b) # the loss in gradient\n",
    "        print(f\"The {i+1}th: accumulated loss: {l_history[i]}\")\n",
    "\n",
    "        w_history[i] = w\n",
    "        b_history[i] = b\n",
    "        \n",
    "    return l_history, w_history, b_history\n",
    "\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\"About the heart diease\"\n",
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "df_heart = pd.read_csv(\"./dataset/4_heart.csv\")\n",
    "df_heart.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "df_heart.target.value_counts()\n",
    "\n",
    "\n",
    "plt.scatter( x = df_heart.age[df_heart.target==1],\n",
    "             y = df_heart.thalach[df_heart.target==1], # max heart beat rating\n",
    "             c='red')\n",
    "\n",
    "plt.scatter( x = df_heart.age[df_heart.target==0],\n",
    "             y = df_heart.thalach[df_heart.target==0], # max heart beat rating\n",
    "             marker='^')\n",
    "plt.legend([\"Diease\", \"Nodiease\"])\n",
    "plt.xlabel(\"Age\")\n",
    "plt.ylabel(\"Hear Rate\")\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "X= df_heart.drop(['target'], axis=1) # the feature\n",
    "y= df_heart.target.values # label\n",
    "y= y.reshape(-1,1) # rearrange the index \n",
    "print(f\"Tensor X: {X.shape}\")\n",
    "print(f\"Tensor y: {y.shape}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import MinMaxScaler\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "X_train,X_test,y_train,y_test = train_test_split(X,y, test_size=0.2)\n",
    "\n",
    "scaler = MinMaxScaler()\n",
    "X_train = scaler.fit_transform(X_train) #拟合在应用\n",
    "X_test = scaler.transform(X_test) # 直接应用\n",
    "\n",
    "## the y (labels) did not need, cause already in [-1,1]\n"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "sigmoid = lambda z : 1/(1+np.exp(-z)) # y_hat\n",
    "\n",
    "\"this time add a b, did not assume it as W_0\"\n",
    "def loss_function(X, y, w, b):\n",
    "    y_hat = sigmoid( np.dot(X,w)+b )\n",
    "    loss = -( y*np.log(y_hat) + (1-y) * np.log( 1-y_hat) )\n",
    "    cost = np.sum(loss)/ X.shape[0]\n",
    "    return cost\n",
    "\n",
    "def gradient_descent(X, y, w, b, lr, iter):\n",
    "    l_history = np.zeros(iter)\n",
    "    w_history = np.zeros((iter,w.shape[0], w.shape[1])) # the weight tensor\n",
    "    b_history = np.zeros(iter)\n",
    "\n",
    "    for i in range(iter):\n",
    "\n",
    "        \"sigmoid\"\n",
    "        y_hat = sigmoid(np.dot(X,w)) \n",
    "\n",
    "        \"Loss function for specific\"\n",
    "        loss =  - (\n",
    "                    y * np.log(y_hat) +\n",
    "                   (1-y) * np.log(1-y_hat)\n",
    "                )\n",
    "        \n",
    "        \"Get the gradient / derivative\"\n",
    "        derivative_w = np.dot(X.T,  y_hat-y)  /  X.shape[0]\n",
    "        derivative_b = np.sum(y_hat - y)/ X.shape[0]\n",
    "\n",
    "        # iterate\n",
    "        w -= lr * derivative_w\n",
    "        b -= lr * derivative_b\n",
    "\n",
    "        l_history[i] = loss_function(X,y,w,b) # the loss in gradient\n",
    "        print(f\"The {i+1}th: accumulated loss: {l_history[i]}\")\n",
    "\n",
    "        w_history[i] = w\n",
    "        b_history[i] = b\n",
    "        \n",
    "    return l_history, w_history, b_history\n",
    "\n",
    "def predict(X, w, b):\n",
    "    z = np.dot(X, w) +b\n",
    "    y_hat = sigmoid(z)\n",
    "    y_pred = np.zeros( (y_hat.shape[0],1))\n",
    "\n",
    "    for i in range(y_hat.shape[0]):\n",
    "        if y_hat[i, 0] < 0.5:\n",
    "            y_pred[i,0] = 0\n",
    "        else:\n",
    "            y_pred[i,0] = 1\n",
    "    \n",
    "    return y_pred\n",
    "\n",
    "def logic_regession(X, y ,w, b, lr, iter):\n",
    "    loss_history, weight_history, bias_history, = gradient_descent(X, y ,w, b, lr, iter)\n",
    "    print(f\"The final loss in train: {loss_history[-1]}\")\n",
    "\n",
    "    \"Final predict\"\n",
    "    y_pred = predict(X, weight_history[-1], bias_history[-1]) \n",
    "    \n",
    "    training_acc = 100 - np.mean(np.abs(y_pred - y_train))* 100\n",
    "    print(f\"ACC: {training_acc}\")\n",
    "    return loss_history,weight_history, bias_history\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "dim = X.shape[1]\n",
    "weight= np.full( (dim,1), 0.1)\n",
    "bias=0 \n",
    "alpha=1\n",
    "iteration=100\n",
    "# weight.shape\n",
    "loss_history,weight_history, bias_history= logic_regession( X_train,y_train, weight, bias, alpha, iteration)\n",
    "\n",
    "\n",
    "\n",
    "loss_history_test = np.zeros(iteration) # 初始化历史损失\n",
    "\n",
    "for i in range(iteration): #求训练过程中不同参数带来的测试集损失\n",
    "\n",
    "    loss_history_test[i] = loss_function(X_test, y_test,\n",
    "\n",
    "    weight_history[i], bias_history[i])\n",
    "\n",
    "    index = np.arange(0, iterations, 1)\n",
    "\n",
    "plt.plot(index, loss_history, c='blue', linestyle='solid')\n",
    "\n",
    "plt.plot(index, loss_history_test, c='red', linestyle='dashed')\n",
    "\n",
    "plt.legend([\"Training Loss\", \"Test Loss\"])\n",
    "\n",
    "plt.xlabel(\"Number of Iteration\")\n",
    "\n",
    "plt.ylabel(\"Cost\")\n",
    "\n",
    "plt.show() # 同时显示训练集和测试集损失曲线\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\"Test set\"\n",
    "y_pred = predict(X_test, weight_history[-1], bias_history[-1])\n",
    "testing_acc = np.mean( np.abs(y_pred- y_test) ) *100 - 100\n",
    "testing_acc*=-1\n",
    "print(f\"The ACC of test-set: {testing_acc}\")\n",
    "# print(y_pred)\n",
    "\n",
    "\n",
    "loss_history_test = np.zeros(iteration)\n",
    "for i in range(iteration):\n",
    "    loss_history_test[i] = loss_function(X_test, y_test, weight_history[i], bias_history[i])\n",
    "\n",
    "index = np.arange(0, iteration, 1)\n",
    "\n",
    "plt.plot(index, loss_history, c='blue', linestyle='solid')\n",
    "plt.plot(index, loss_history_test, c='red', linestyle='dashed')\n",
    "\n",
    "plt.legend([\"Training Loss\", \"Test Loss\"])\n",
    "plt.xlabel(\"Number of Iteration\")\n",
    "plt.ylabel(\"Cost\")\n",
    "plt.show() # 同时显示训练集和测试集损失曲线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\"Use library\"\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
